package com.ggkt.module.organizationalStruture.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.ToString;
import java.io.Serializable;


@Data
@ToString
@TableName("dingtalk_dept")
public class DtDept implements Serializable {

    /**
     * 我们自己表的主键
     */
    @TableId(type= IdType.AUTO,value = "deptId")
    private String deptId;

    /**
     * 钉钉部门id
     */
    @TableField(value="orgId")
    private Integer orgId;

    /**
     * 钉钉企业id
     */
    @TableField(value="corpId")
    private String corpId;

    /**
     * 名字
     */
    @TableField(value="orgName")
    private String orgName;

    /**
     *排序
     */
    @TableField(value="orgOrder")
    private Integer orgOrder;

    /**
     *父级部门id
     */
    @TableField(value="parentId")
    private Integer parentId;

    /**
     * 是否隐藏部门，true表示隐藏，false表示显示
     */
    @TableField(value="deptHiding")
    private Boolean deptHiding;


    /**
     *是否本部门的员工仅可见员工自己，为true时，本部门员工默认只能看到员工自己
     */
    @TableField(value="outerDept")
    private Boolean outerDept;

    /**
     *本部门的员工仅可见员工自己为true时，可以配置额外可见部门，值为部门id组成的的字符串，使用“|”符号进行分割
     */
    @TableField(value="outerPermitDepts")
    private String outerPermitDepts;

    /**
     *本部门的员工仅可见员工自己为true时，可以配置额外可见人员，值为userid组成的的字符串，使用“|”符号进行分割',
     */
    @TableField(value="outerPermitUsers")
    private String outerPermitUsers;


    /**
     *部门的主管列表，取值为由主管的userid组成的字符串，不同的userid使用“|”符号进行分割',
     */
    @TableField(value="deptManagerUseridList")
    private String deptManagerUseridList;


    /**
     *所有上级部门id包含本身
     */
    @TableField(value="parentIds")
    private String parentIds;

    /**
     * 组织节点类型  1：公司、2：部门、3：小组
     */
    @TableField(value="orgType")
    private  Integer orgType;

    /**
     * 层级 部门在erp_dept表中的层级
     */
    @TableField(exist = false)
    private Integer level;
    /**
     * 父级ID
     */
    @TableField(value = "erpParentId",exist = false)
    private Integer erpParentId;

}
